/*
 * Projeto idealizado para ensino interativo com uso de recursos Flash e Java
 * O uso destes codigos eh de extrema restricao, valendo dos direitos dos seus
 * desenvolvedores
 * 
 * @author Fabricio Silva 
 */
package br.com.dimensaointerativo.visao;

import br.com.dimensaointerativo.controller.AlunoController;
import br.com.dimensaointerativo.dto.AlunoDTO;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

/**
 * Tela de cadastramento de Aluno.
 * @author Michel Frank
 */
public class CadastrarAluno extends JFrame { 
 
public CadastrarAluno() { 
    final JLabel lblNome, lblEndereco, lblTelefone, lblIdade, lblSexo, lblSenha, lblId;
    final JTextField jtfNome, jtfEndereco, jtfTelefone, jtfIdade, jtfSexo, jtfSenha, jtfId;
    JButton btnBotaoCadastrar, btnBotaoCancelar, btnBotaoAlterar, btnBotaoExcluir;

    final AlunoDTO alunoDTO = new AlunoDTO();
    
    // painel com os dados 
    lblNome = new JLabel(" Nome :"); 
    jtfNome = new JTextField(); 
    lblEndereco = new JLabel(" Endereço :"); 
    jtfEndereco = new JTextField(); 
    lblTelefone = new JLabel(" Telefone :"); 
    jtfTelefone = new JTextField(); 
    lblIdade = new JLabel(" Idade :"); 
    jtfIdade = new JTextField(); 
    lblSexo = new JLabel(" Sexo :"); 
    jtfSexo = new JTextField(); 
    lblSenha = new JLabel(" Senha :"); 
    jtfSenha = new JPasswordField();

    // TO-DO: Apos os testes deve-se remover o codigo abaixo
    lblId = new JLabel("id :");
    jtfId = new JTextField();
    
        JPanel pGrid = new JPanel(new GridLayout(7, 2));
            pGrid.add(lblNome); 
            pGrid.add(jtfNome);
            pGrid.add(lblEndereco); 
            pGrid.add(jtfEndereco); 
            pGrid.add(lblTelefone); 
            pGrid.add(jtfTelefone); 
            pGrid.add(lblIdade); 
            pGrid.add(jtfIdade); 
            pGrid.add(lblSexo); 
            pGrid.add(jtfSexo); 
            pGrid.add(lblSenha); 
            pGrid.add(jtfSenha);

            // TO-DO: Apos os testes deve-se remover o codigo abaixo
            pGrid.add(lblId);
            pGrid.add(jtfId);
 
            // painel com os comandos 
        btnBotaoCadastrar = new JButton("Cadastrar");
        btnBotaoCadastrar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ev) {
                alunoDTO.setNome(jtfNome.getText());
                alunoDTO.setEndereco(jtfEndereco.getText());
                alunoDTO.setTelefone(jtfTelefone.getText());
                alunoDTO.setIdade(Integer.parseInt(jtfIdade.getText()));
                alunoDTO.setSexo(jtfSexo.getText());
                alunoDTO.setSenha(jtfSenha.getText());
                AlunoController ac = new AlunoController();
                ac.registrarAluno(alunoDTO);
                JOptionPane.showMessageDialog(null, "Operação realizada com sucesso.",
                        "Dimensão Internativo - Informativo", JOptionPane.INFORMATION_MESSAGE);
            }
        });

        btnBotaoAlterar = new JButton("Alterar");
        btnBotaoAlterar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ev) {
                alunoDTO.setNome(jtfNome.getText());
                alunoDTO.setEndereco(jtfEndereco.getText());
                alunoDTO.setTelefone(jtfTelefone.getText());
                alunoDTO.setIdade(Integer.parseInt(jtfIdade.getText()));
                alunoDTO.setSexo(jtfSexo.getText());
                alunoDTO.setSenha(jtfSenha.getText());
                alunoDTO.setIdLogin(Integer.parseInt(jtfId.getText()));
                AlunoController ac = new AlunoController();
                ac.alterarAluno(alunoDTO);
                JOptionPane.showMessageDialog(null, "Operação realizada com sucesso.",
                        "Dimensão Internativo - Informativo", JOptionPane.INFORMATION_MESSAGE);
            }
        });

        btnBotaoCancelar = new JButton("Cancelar");
        btnBotaoCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ev) {
				setVisible(false);
			}
		} );

        btnBotaoExcluir = new JButton("Excluir");
        btnBotaoExcluir.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent ev) {
                alunoDTO.setIdLogin(Integer.parseInt(jtfId.getText()));
                AlunoController ac = new AlunoController();
                ac.deletarDadosAluno(alunoDTO);
                JOptionPane.showMessageDialog(null, "Operação realizada com sucesso.",
                        "Dimensão Internativo - Informativo", JOptionPane.INFORMATION_MESSAGE);
            }
        });

        JPanel pBotoes = new JPanel(new GridLayout(0, 4, 8, 0));
            pBotoes.add(btnBotaoCadastrar);
            pBotoes.add(btnBotaoAlterar);
            pBotoes.add(btnBotaoExcluir);
            pBotoes.add(btnBotaoCancelar); 
 
        // painel do JFrame 
        this.setLayout(new BorderLayout()); 
        this.getContentPane().add(pGrid, BorderLayout.NORTH); 
        this.getContentPane().add(pBotoes, BorderLayout.SOUTH); 
 
        this.setTitle("..::Cadastro do Aluno::.."); 
        this.setSize(450, 250);
        this.setResizable(false); 
        this.setLocationRelativeTo(null); 
        this.setVisible(true); 
    }

}
